#include<stdio.h>
int max3(int a, int b, int c)
{
	int max = a > b ? a : b;
	max = max > c ? max : c;
	return max;
}

int main()
{
	int a = 0;
	int b = 0;
	int c = 0;

	scanf("%d %d %d", &a, &b, &c);
	float m = ((float)max3(a + b, b, c)) / (max3(a, b + c, c) + max3(a, b, b + c));
	printf("%.2f\n", m);
	return 0;
}

/*int main()
{
	int arr[4] = { 0 };
	int i = 0;
	for (i = 0; i < 4; i++)
	{
		scanf("%d", &arr[i]);
	}
	int max = arr[0];
	for (i = 1; i < 4; i++)
	{
		if (arr[i]>max)
			max = arr[i];
	}
	printf("%d\n", max);
	return 0;
}*/

/*int main()
{
	char arr[8000] = { 0 };
	scanf("%s", arr);
	long long c = 0;
	long long ch = 0;
	long long chn = 0;
	char*p = arr;
	while (*p)
	{
		if (*p == 'C')
			c++;
		else if (*p == 'H')
			ch += c;
		else if (*p == 'N')
			chn += ch;
		p++;
	}
	printf("%d\n", chn);
	return 0;
}*/


/*int main()
{
	int n = 0;
	int arr[100001] = { 0 };
	scanf("%d", &n);
	int i = 0;
	int tmp = 0;
	for (i = 0; i < n; i++)
	{
		scanf("%d", &tmp);
		arr[tmp] = tmp;
	}
	for (i = 0; i < n; i++)
	{
		if (arr[i] != 0)
		{
			printf("%d ", arr[i]);
		}
	}
	return 0;
}*/


/*int f(int n)
{
	if (n <= 2)
		return n;
	else
		return f(n - 1) + f(n - 2);
}

int main()
{
	int n = 0;
	scanf("%d", &n);
	int ret = f(n);
	printf("%d\n", ret);
}*/



/*#include<math.h>
int main()
{
	int n = 0;
	int i = 0;
	int sum = 0;
	scanf("%d", &n);

	while (n)
	{
		int m = n % 10;
		if (m % 2 == 1)
		{
			m = 1;
		}
		else
		{
			m = 0;
		}
		sum += m*pow(10.0, i);
		i++;
		n /= 10;
	}
	printf("%d\n", sum);
	return 0;

}*/

/*int main()
{
	long long n = 0;
	long long m = 0;
	scanf("%lld %lld", &n, &m);
	long long tmp = 0;
	long long max = 0;
	long long min = 0;
	long long n2 = n;
	long long m2 = m;
	while (tmp = n%m)
	{
		n = m;
		m = tmp;
	}
	max = m;
	min = n2*m2 / max;
	printf("%lld\n", min + max);
	return 0;
}*/


/*int main()
{
	long long n = 0;
	long long m = 0;
	scanf("%lld %lld", &n, &m);
	int max = n > m ? m : n;
	int min = n > m ? n : m;
	while (1)
	{
		if (n%max == 0 && m%max == 0)
		{
			break;
		}
		max--;
	}
	while (1)
	{
		if (min%n == 0 && min%m == 0)
		{
			break;
		}
		min++;
	}
	printf("%d\n", min + max);
	return 0;
}*/



/*int main()
{
	int n = 0;
	scanf("%d", &n);
	printf("%d\n", (n / 12) * 4 + 2);
	return 0;
}*/


/*int main()
{
	int h = 0;
	int m = 0;
	int k = 0;
	scanf("%d:%d %d", &h, &m, &k);
	h = ((m + k) / 60 + h) % 24;
	m = (m + k) % 60;
	printf("%02d:%02d\n", h, m);
	return 0;
}*/

/*int main()
{
	long long n = 0;
	long long sum = 0;
	scanf("%lld", &n);
	int i = 0;
	sum = (1 + n)*n / 2;
	printf("%11d\n", sum);
	return 0;
}*/



/*int main()
{
	int n = 0;
	long long sum = 0;
	scanf("%d", &n);
	int i = 0;
	for (i = 1; i <= n; i++)
	{
		sum += i;
	}
	printf("%11d\n", sum);
	return 0;
}*/

/*int main()
{
	int n = 0;
	int arr[40] = { 0 };
	scanf("%d", &n);
	int i = 0;
	while (n)
	{
		arr[i] = n % 6;
		i++;
		n = n / 6;

	}
	for (i--; i > 0; i--)
	{
		printf("%d", arr[i]);
	}
	return 0;
}*/
